package com.car.account.util;

import cn.hutool.core.bean.BeanUtil;

import java.util.ArrayList;
import java.util.List;

public class ListUtil {

    /**
     * 将一个集合中的对象转换为另一个集合的对象。
     *
     * @param sourceList 源集合
     * @param targetClazz 目标集合中对象的类
     * @param <S> 源对象类型
     * @param <T> 目标对象类型
     * @return 转换后的目标集合
     */
    public static <S, T> List<T> copyToList(List<S> sourceList, Class<T> targetClazz) throws Exception{
        List<T> targetList = new ArrayList<>();
        for (S source : sourceList) {
            T target = targetClazz.newInstance(); // 注意：确保目标类有无参构造函数
            BeanUtil.copyProperties(source, target);
            targetList.add(target);
        }
        return targetList;
    }
}